// 二次封装axios
import axios from 'axios'

// 导入loading
import { Toast } from 'antd-mobile'
// 实例化一个axios对象 
 let service = axios.create({
    baseURL:process.env.REACT_APP_BASE_URL,
    // process.env.REACT_APP_BASE_URL
    timeout:10000
})

// 设置请求拦截器
service.interceptors.request.use((config)=>{
    // 设置loading
    Toast.show({
        icon: 'loading',
        content: '加载中…',
    })
    // 设置请求头
    // console.log(JSON.parse(localStorage.getItem('userinfo')).token);
    config.headers['Authorization']='Bearer ' + (JSON.parse(localStorage.getItem('userinfo')) ? JSON.parse(localStorage.getItem('userinfo')).token: '')

    return config
},(error)=>{
    return Promise.reject(error)
})

// 设置请求响应器
service.interceptors.response.use((res)=>{
    // 清楚loading
    Toast.clear()
    return res
},(error)=>{
    // 清楚loading
    Toast.clear()
    // 处理错误响应状态码
    // console.log("error", error.response)
    // switch (error.response.status) {
    //     case 302: Toast.show({ content:'接口重定向了！'}); break;
    //     case 400: Toast.show({ content:'参数不正确！'}); break;
    //     case 401: Toast.show({ content:'您未登录，或者登录已经超时，请先登录！'}); break;
    //     case 403: Toast.show({ content:'您没有权限操作！'}); break;
    //     case 404: Toast.show({ content:'请求地址出错'}); break; // 在正确域名下
    //     case 408: Toast.show({ content:'请求超时！'}); break;
    //     case 409: Toast.show({ content:'系统已存在相同数据！'}); break;
    //     case 500: Toast.show({ content:'服务器内部错误！'}); break;
    //     case 501: Toast.show({ content:'服务未实现！'}); break;
    //     case 502: Toast.show({ content:'网关错误！'}); break;
    //     case 503: Toast.show({ content:'服务不可用！'}); break;
    //     case 504: Toast.show({ content:'服务暂时无法访问，请稍后再试！'}); break;
    //     case 505: Toast.show({ content:'HTTP版本不受支持！'}); break;
    //     default:  Toast.show({ content:'异常问题，请联系管理员！'}); break
    // }
    // 对响应错误做点什么
    return Promise.reject(error);
})

export default service